home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 24
/
Mac Magazin and MacEasy Magazine CD - Issue 24.iso
/
Grafik & Text
/
VivaPress Upt. & Demo
/
Demo-Version 2.1
/
VivaPress® Pro 2.1 PPC
/
VivaPressÆ Pro 2.1 PPC.rsrc
/
prec_103
< prev
next >
Wrap
Text File
|
1996-04-28
|
20KB
|
1,013 lines
%%BeginResource: Pattern operators
userdict begin
/level2 /languagelevel where {pop languagelevel 2 ge}{false} ifelse def
level2 { /dontload save def } if
/PATcg {
7 dict dup begin
/lw currentlinewidth def
/lc currentlinecap def
/lj currentlinejoin def
/ml currentmiterlimit def
/ds [ currentdash ] def
/cc [ currentrgbcolor ] def
/cm matrix currentmatrix def
end
} def
/PATsg {
begin
lw setlinewidth
lc setlinecap
lj setlinejoin
ml setmiterlimit
ds aload pop setdash
cc aload pop setrgbcolor
cm setmatrix
end
} def
/PATsc {
aload length
dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse
} bind def
/PATtcalc {
gsave
exch concat
matrix currentmatrix exch
2 ne {
dup 4 get exch dup 5 get exch
XStep 0 dtransform round exch round exch
XStep div exch XStep div exch
0 YStep dtransform round exch round exch
YStep div exch YStep div exch
7 -3 roll astore
} if
grestore
} bind def
/PATmp {
exch dup length 8 add
dict copy
begin
TilingType PATtcalc
/PatternGState PATcg def
PatternGState /cm 3 -1 roll put
currentdict /Multi known not { /Multi 1 def } if
/FontType 3 def
/Encoding 256 array def
3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop
/FontMatrix matrix def
/FontBBox BBox def
/BuildChar {
mark 3 1 roll
exch begin
Multi 1 ne { PaintData exch get } { pop } ifelse
PaintType 2 eq Multi 1 ne or
{ XStep 0 FontBBox aload pop setcachedevice }
{ XStep 0 setcharwidth } ifelse
currentdict
/PaintProc load
end
gsave
false PATredef exec true PATredef
grestore
cleartomark
} bind def
currentdict
end
/foo exch
definefont
} bind def
/PATpcalc {
PATDict /CurrentPattern get begin
gsave
PatternGState /cm get setmatrix
BBox aload pop pop pop translate
pathbbox
grestore
YStep div ceiling
4 1 roll
XStep div ceiling
4 1 roll
YStep div floor
4 1 roll
XStep div floor
4 1 roll
2 index sub cvi abs
exch 3 index sub cvi abs exch
4 2 roll
YStep mul
exch
XStep mul exch
end
} bind def
/PATfill {
PATDict /CurrentPattern get dup begin
setfont
PatternGState PATsg
PaintType 2 eq { PATDict /PColor get PATsc } if
3 index string
0 1 Multi 1 sub {
3 index 3 index
moveto
Multi 1 ne { dup PaintColors exch get PATsc } if
0 1 7 index 1 sub {
2 index exch 2 index
put
} for pop
3 index
{
currentpoint
2 index show
YStep add moveto
} repeat
} for
5 { pop } repeat
end
} bind def
/oldfill /fill load def
/oldeofill /eofill load def
/oldstroke /stroke load def
/oldshow /show load def
/oldashow /ashow load def
/oldwidthshow /widthshow load def
/oldawidthshow /awidthshow load def
/oldkshow /kshow load def
/PATredef {
userdict begin
{
/fill { /clip load PATdraw newpath } bind def
/eofill { /eoclip load PATdraw newpath } bind def
/stroke { PATstroke } bind def
/show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
/ashow { 0 0 null 6 3 roll PATawidthshow } bind def
/widthshow { 0 0 3 -1 roll PATawidthshow } bind def
/awidthshow { PATawidthshow } bind def
/kshow { PATkshow } bind def
} {
/fill { oldfill } bind def
/eofill { oldeofill } bind def
/stroke { oldstroke } bind def
/show { oldshow } bind def
/ashow { oldashow } bind def
/widthshow { oldwidthshow } bind def
/awidthshow { oldawidthshow } bind def
/kshow { oldkshow } bind def
} ifelse
end
} bind def
false PATredef
/PATdraw {
save exch
PATpcalc
5 -1 roll exec
newpath
PATfill
restore
} bind def
/PATstroke {
countdictstack
save
mark
{
currentpoint (Strokepath) = strokepath moveto
PATpcalc
(Clip) = clip newpath
(PATfill) = PATfill
} stopped {
(*** PATstroke Warning: Path is too complex, stroking with gray) =
cleartomark
restore
countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse
gsave 0.5 setgray oldstroke grestore
} { pop restore pop } ifelse
newpath
} bind def
/PATsstr 1 string def
/PATawidthshow {
{
dup
PATsstr dup 0 4 -1 roll put
false charpath
/clip load PATdraw
currentpoint
newpath
moveto
3 index eq {
4 index 4 index rmoveto
} if
2 copy rmoveto
} forall
pop pop pop pop pop
currentpoint
newpath
moveto
} bind def
/PATkshow {
exch bind
1 index 0 get
0 1 4 index length 2 sub
{
3 index exch 1 add get
exch 2 copy
PATsstr dup 0 4 -1 roll put
false charpath
/clip load PATdraw
currentpoint newpath moveto
mark 3 1 roll
4 index exec
cleartomark
} for
PATsstr dup 0 4 -1 roll put
false charpath
/clip load PATdraw
currentpoint
newpath
moveto
pop pop
} bind def
/PATDict 4 dict def
PATDict begin
/HasPattern false def
end
/PATsp {
true PATredef
PATDict begin
/HasPattern true def
/CurrentPattern exch def
CurrentPattern /PaintType get 2 eq {
/PColor exch def
} if
/CColor [ currentrgbcolor ] def
end
} bind def
/PATusp {
false PATredef
PATDict begin
HasPattern {
CColor aload pop setrgbcolor
} if
/HasPattern false def
end
} bind def
level2 { dontload restore } if
level2 not {/dontload save def} if
/PATDict 3 dict def
PATDict begin
/HasPattern false def
end
/PATsc {
mark exch aload pop
counttomark 1 eq { setgray } if
counttomark 3 eq { setrgbcolor } if
counttomark 4 eq { setcmykcolor } if
counttomark 0 ne { setcolor } if
cleartomark
} bind def
/PATmp {
exch dup length 2 add dict copy
begin
currentdict /Multi known not { /Multi 1 def } if
Multi 1 ne {
/UserProc /PaintProc load def
/PaintProc {
begin
0 1 Multi 1 sub {
PaintColors 1 index get PATsc
PaintData exch get
gsave
currentdict
UserProc
grestore
} for
end
} bind def
} if
currentdict
end
exch makepattern
} bind def
/PATsp {
PATDict begin
/HasPattern true def
dup /CurrentPattern exch def
/CColor [ currentcolor ] def
/CCSpace currentcolorspace def
end
dup /PaintType get 2 eq {
exch dup length
dup 1 eq { [/Pattern /DeviceGray] setcolorspace } if
dup 3 eq { [/Pattern /DeviceRGB] setcolorspace } if
4 eq { [/Pattern /DeviceCMYK] setcolorspace } if
aload length 1 add -1 roll
} if
setpattern
} bind def
/PATusp {
PATDict begin
HasPattern {
CCSpace setcolorspace
CColor aload pop setcolor
} if
/HasPattern false def
end
} bind def
level2 not {dontload restore} if
end
%%EndResource
%%BeginFile: VIVA_EPS_IMPORT
userdict begin
/BeginEPSF {
/b4_inc_state save def
/dict_count countdictstack def
/op_count count 1 sub def
userdict begin
/showpage {} def
/copypage {} def
0 setgray 0 setlinecap
1 setlinewidth 0 setlinejoin
10 setmiterlimit [] 0 setdash newpath
/languagelevel where {
pop languagelevel 1 ne {
false setstrokeadjust false setoverprint
}if
}if
} bind def
/EndEPSF {
count op_count sub {pop} repeat
countdictstack dict_count sub {end} repeat
b4_inc_state restore
} bind def
end
%%EndFile
%%BeginResource: VIVAPress dictionary
userdict 150 dict dup begin /VIVAPress exch put
/bd {bind def} bind def
/xd {exch def} bd
/ld {load def} bd
/nd { exch dup where { pop pop pop }{ xd } ifelse } bd
[/@0/@1/@2/@3/@4/@5/@6/@7/@8/@9] { 0 def } forall
/pxl {
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
}bd
/rpxl {
dtransform
round exch
round exch
idtransform
}bd
/*moveto /moveto ld
/moveto {pxl *moveto} bd
/*lineto /lineto ld
/lineto {pxl *lineto} bd
/mtx matrix bd
/pop5 {pop pop pop pop pop} bd
/vpgsave {
{currentpoint}stopped not
matrix currentmatrix
} def
/vpgrestore {setmatrix {moveto}if} bd
/safescale { exch dup 0 eq {pop 0.001} if exch dup 0 eq {pop 0.001} if scale }bd
/vpring {
/@1 xd/@2 xd/@3 xd/@4 xd /@5 xd
newpath
matrix currentmatrix
@3 @5 add 2 div @2 @4 add 2 div translate
matrix currentmatrix
@3 @5 sub @1 add @2 @4 sub @1 add safescale
0 0 pxl 0.5 0 360 {arc}stopped {pop5}if
setmatrix
@3 @5 sub @1 sub @2 @4 sub @1 sub safescale
0 0 pxl 0.5 360 0 {arcn}stopped {pop5}if
setmatrix
} bd
/vpbarc {
/@1 xd/@2 xd/@3 xd/@4 xd
/@5 xd/@6 xd/@7 xd
vpgsave
@5 @7 add 2 div @4 @6 add 2 div translate newpath 0 0 pxl moveto
@5 @7 sub @4 @6 sub mtx currentmatrix pop scale @1{newpath}if
0 0 pxl 0.5 @3 @2 {arc}stopped {pop5}if @3 @2 sub abs 360 ge{closepath}if
mtx setmatrix vpgrestore
} bd
/vpovstroke {currentlinewidth vpring fill} bd
/vpov{0 360 true vpbarc}bd
/vprc{/@4 xd/@3 xd /@2 xd/@1 xd
newpath @1 @2 moveto @3 @2 lineto @3 @4 lineto @1 @4 lineto closepath}bd
/vprrc{/@5 xd /@4 xd/@3 xd /@2 xd/@1 xd
newpath
@1 @3 add 2 div @2 moveto
@3 @5 sub @2 @5 add @5 -90 0 arc
@3 @5 sub @4 @5 sub @5 0 90 arc
@1 @5 add @4 @5 sub @5 90 180 arc
@1 @5 add @2 @5 add @5 180 270 arc
closepath
}bd
/UL {
gsave
currentpoint newpath moveto
currentfont begin
/FontInfo dup where {
exch get begin
/UnderlineThickness dup where {exch get} {pop 50} ifelse
/UnderlinePosition dup where {exch get} {pop -100} ifelse
end
} {pop 50 -100} ifelse
0 exch FontMatrix dtransform rmoveto
0 exch FontMatrix dtransform exch pop setlinewidth
0 rlineto stroke
end
grestore
} def
/AWSLENGTH {
0 exch 0 exch
{
32 eq { exch 1 add exch } { 1 add } ifelse
} forall
} bd
/AWS {
/@1 xd /@2 xd /@3 xd /@4 xd
@1 AWSLENGTH @3 mul exch @4 mul add
@1 stringwidth pop add
@2 exch sub
@1 length 1 sub dup 0 ne{div}{exch pop}ifelse /@5 xd
@4 @3 sub 0 32 @5 @3 add 0 @1 awidthshow
} bd
/VS {
0 0 4 2 roll AWS
} bd
/vpstroke{{currentpoint}stopped not stroke {moveto}if}bd
/vpfill{{currentpoint}stopped not eofill {moveto}if}bd
/vpclip{{currentpoint}stopped not eoclip newpath {moveto}if}bd
userdict begin
/kp where{/*kp /kp load put}if
/rC where{/*rC /rC load put}if
/vpbeginpict{
countdictstack dup array dictstack exch 2 sub get begin
/kp where{/kp {pop} put}if
/rC where{/rC {pop pop pop pop} put}if
}def
/vpendpict{
/kp where{/kp /*kp load put}if
/rC where{/rC /*rC load put}if
end
}def
/mtx matrix def
/mtx2 matrix def
/mtx3 matrix def
/msave{mtx currentmatrix aload pop}bind def
/mrestore{mtx astore setmatrix}bind def
end
%%
/imoveto {
itransform moveto
} def
/ilineto {
itransform lineto
} def
/icurveto {
3 { 6 2 roll itransform } repeat curveto
} def
/iclosepath {
closepath
} def
/vpcurrentclipbbox {
gsave
[
initmatrix clippath
{ currentpoint pop pop } stopped not {
pathbbox 2 { 4 -2 roll transform } repeat
2 index exch 2 index exch dup 6 index exch
/imoveto cvx /ilineto cvx /ilineto cvx /ilineto cvx /closepath cvx
} if
]
grestore
} bd
/vpsclip {
vpcurrentclippath
} bd
/vprclip {
vpsetclip
} bd
/vpcurrentclippath {
gsave
clippath
[
{ transform /imoveto cvx }
{ transform /ilineto cvx }
{ 3 { 6 -2 roll transform } repeat /icurveto cvx }
{ /iclosepath cvx } pathforall
]
grestore
} bd
/vpsetclip {
systemdict begin
newpath initclip cvx exec eoclip newpath
end
} bd
%%
/vpcurrentgstate {
mark
/cpath vpcurrentclipbbox cvlit
/linewidth currentlinewidth
/linejoin currentlinejoin
/linecap currentlinecap
/miterlimit currentmiterlimit
/dash currentdash 2 array astore
/ctm matrix currentmatrix
/rgbcolor currentrgbcolor 3 array astore
/font currentfont
counttomark 2 idiv dup dict begin { def } repeat pop currentdict end
} bd
/vpsetgstate {
begin
linewidth setlinewidth
linejoin setlinejoin
linecap setlinecap
miterlimit setmiterlimit
dash aload pop setdash
ctm setmatrix
rgbcolor aload pop setrgbcolor
cpath dup length 0 ne { vpsetclip }{ pop } ifelse
font setfont
end
} bd
/vpb {
/mdgstate vpcurrentgstate def
/vpgstate where { pop vpgstate vpsetgstate } if
} bd
/vpbf {
currentfont vpb setfont
} bd
/vpe {
/vpgstate vpcurrentgstate def
/mdgstate where { pop mdgstate vpsetgstate } if
} bd
/vpec {
/vpgstate vpcurrentgstate def
vpgstate /cpath vpcurrentclippath put
} bd
/vpex {
/vpgstate vpcurrentgstate def
vpgstate /cpath vpcurrentclippath put
/mdgstate where { pop mdgstate vpsetgstate } if
} bd
/vpbc {
/mdgstate where {
pop
mdgstate /cpath vpgstate /cpath get put
mdgstate vpsetgstate
} if
} bd
/bu where { /bu {} put } if
/bn where { /bn {/pm where {/pm save put } if } put } if
/vppush {
PATusp
currentlinewidth
currentlinejoin
currentlinecap
currentmiterlimit
currentdash exch aload length
matrix currentmatrix aload pop
currentrgbcolor
} bd
/vppop {
setrgbcolor
matrix astore setmatrix
array astore exch setdash
setmiterlimit
setlinecap
setlinejoin
setlinewidth
} bd
/vporgx matrix def
/vporg {
vporgx currentmatrix pop
{currentpoint}stopped not {translate}if
/vpgstate vpcurrentgstate def
} bd
/vpscalefont {
currentfont exch scalefont setfont
} bd
/__TrappedFont 0 def
/vptrapfont {
dup 0 gt {
currentfont
8 dict begin
/__Font exch def
/__TrapWidth exch def
/FontType 3 def
/FontMatrix [1 0 0 1 0 0] def
/FontBBox [0 0 1 1] def
/Encoding StandardEncoding def
/BuildChar {
exch begin
__Font setfont
( ) dup 0 4 -1 roll put
dup dup stringwidth setcharwidth
0 0 moveto show
0 0 moveto false charpath __TrapWidth 2 mul setlinewidth stroke
end
} bind def
currentdict
end
/__TrappedFont exch definefont setfont
}{pop}ifelse
} bind def
/vpmpat {
20 dict begin
/Bitmap exch def
/PaintType 2 def
/PatternType 1 def
/TilingType 2 def
/BBox [ 0 0 1 1 ] def
/XStep 1 def
/YStep 1 def
/IMatrix [8 0 0 -8 0 8] def
/PaintProc {
begin
8 8 true IMatrix { Bitmap } imagemask
end
} bind def
currentdict
end
gsave
initmatrix 1 1 dtransform round exch round exch idtransform scale
[8 0 0 8 0 0] PATmp
grestore
/vpmasterpattern exch def
}bd
/vpsetrgbpattern {
3 array astore
vpmasterpattern PATsp
}bd
/vpsetcmykpattern {
4 array astore
vpmasterpattern PATsp
}bd
/vpsetgraypattern {
1 array astore
vpmasterpattern PATsp
}bd
/__setgray /setgray load def
/__setrgbcolor /setrgbcolor load def
/setcmykcolor where {/setcmykcolor get /__setcmykcolor exch def}
{{1 sub 4 1 roll 3{3 index add neg dup 0 lt {pop 0}if 3 1 roll}repeat setrgbcolor pop} bind dup /setcmykcolor xd /__setcmykcolor xd}ifelse
/__setblack { dup dup dup __setcmykcolor } def
/__image /image load def
/colorimage where {/colorimage get /__colorimage exch def}if
/putmark {
gsave
{currentpoint}stopped not {translate}if
4 1 roll rotate scale load exec
grestore
}bd
/hairstroke {
initmatrix .2 setlinewidth stroke
}bd
/dashedline {
gsave newpath
-.5 0 moveto
.19 0 rlineto
.08 0 rmoveto
.19 0 rlineto
.08 0 rmoveto
.19 0 rlineto
.08 0 rmoveto
.19 0 rlineto
1 __setblack
hairstroke
grestore
}bd
/line {
gsave newpath
-.5 0 moveto 1 0 rlineto
1 __setblack hairstroke
grestore
}bd
/cross {
gsave newpath
-.5 0 moveto 1 0 rlineto
0 -.5 moveto 0 1 rlineto
1 __setblack hairstroke
grestore
}bd
/square {
gsave newpath
-.5 dup moveto 1 0 rlineto
0 1 rlineto -1 0 rlineto closepath
1 __setblack fill
grestore
}bd
/triangle {
gsave newpath
-.5 -.5 moveto 0 1 rlineto
.8 dup dup neg rlineto 0 exch 1 sub rlineto closepath
1 __setblack fill
grestore
}bd
/crop {
gsave newpath
0 0 moveto 0 1 rlineto
1 __setblack hairstroke
grestore
}bd
/fit {
gsave newpath
-.5 0 moveto 1 0 rlineto
0 -.5 moveto 0 1 rlineto
0 0 moveto 0 0 0.3 0 360 arc
1 __setblack hairstroke
grestore
}bd
/VIVALogo {
gsave
-.225 -.5 .225 .5 vpov .9 __setblack fill
-.16 .34 moveto /Times-Roman findfont [.45 0 0 -.9 0 0] makefont setfont 0 __setblack (V) show
.6 .6 scale 0 -.2 rmoveto 1 __setblack ( i v a) show 1 0 rmoveto show
grestore
} bd
/siemensstern {
gsave newpath
matrix currentmatrix initgraphics setmatrix
1 24 {
0 0 moveto 0 0 .5 0 15 arc closepath
1 exch sub dup __setblack fill
15 rotate
} repeat pop
0 0 moveto 0 0 .5 0 360 arc closepath
initmatrix .1 setlinewidth stroke
grestore
} bd
/grayrampK {
gsave newpath
0 0 moveto
.1 .1 1.09 {
0 1 rmoveto currentpoint newpath moveto
gsave
1 0 rlineto 0 -1 rlineto -1 0 rlineto closepath
0 0 0 4 -1 roll setcmykcolorifseparate
fill
grestore
} for
grestore
} def
/grayrampCMY {
gsave newpath
0 0 moveto
.1 .1 1.09 {
0 1 rmoveto currentpoint newpath moveto
gsave
1 0 rlineto 0 -1 rlineto -1 0 rlineto closepath
dup dup 0 setcmykcolorifseparate
fill
grestore
} for
grestore
} def
/grayramp {
gsave -.5 1 scale grayrampK grestore
gsave .5 1 scale grayrampCMY grestore
} def
/colorramp {
2 dict begin
/colorbox {
gsave currentpoint newpath moveto
5 1 roll setcmykcolorifseparate
.5 0 rlineto 0 -1 rlineto -1 0 rlineto 0 1 rlineto closepath
gsave fill grestore
/Courier findfont .5 scalefont setfont
dup stringwidth pop -2 div -.35 rmoveto
1 __setgray
1 -1 scale show
grestore
} bd
gsave newpath
0 1 moveto 1 0 0 0 (C) colorbox
0 1 rmoveto 0 1 0 0 (M) colorbox
0 1 rmoveto 0 0 1 0 (Y) colorbox
0 1 rmoveto 1 1 0 0 (CM) colorbox
0 1 rmoveto 1 0 1 0 (CY) colorbox
0 1 rmoveto 0 1 1 0 (MY) colorbox
0 1 rmoveto 1 1 1 0 (CMY) colorbox
0 1 rmoveto 0 0 0 1 (K) colorbox
grestore
end
} def
/signatur {
5 dict begin
/text exch def
/just exch def
/fontID exch def
gsave newpath
1 -1 scale
1 __setblack
/Courier
fontID 20 eq {pop /Times-Roman} if
fontID 21 eq {pop /Helvetica} if
fontID 22 eq {pop /Courier} if
fontID 23 eq {pop /Symbol} if
findfont 1 scalefont setfont
0 0 moveto
just -1 eq {text stringwidth exch neg exch neg rmoveto} if
text show
grestore
end
} bd
/plateinfo {
/@5 xd /@4 xd/@3 xd /@2 xd/@1 xd
@5 @1 @2 moveto 14 -10 rmoveto 22 -1 3 -1 roll 6 7 0 /signatur putmark
} bd
userdict begin
/dotscreen{180 mul cos exch 180 mul cos add 2 div}
/linescreen{exch pop}
/setscreenfreq{currentscreen 3 -1 roll pop setscreen}bd
/setscreenangle{currentscreen exch pop 3 -1 roll exch setscreen}bd
/setscreenproc{currentscreen pop 3 -1 roll setscreen}bd
/setcmykcolorifseparate {
/vpseparationindex where {
/vpseparationindex get dup 0 ge{pop 0}{neg 1 sub index}ifelse
1 exch sub __setgray pop pop pop pop
}{__setcmykcolor}ifelse
}bd
/vpsetupseparation
{
/CMYK2SEPARATIONGRAY {
dup 0 gt{pop pop 0}{neg -1 roll}ifelse
4 1 roll pop pop pop 255 exch sub
} bind def
/RGB2CMYK {
255 exch sub /Yellow exch def
255 exch sub /Magenta exch def
255 exch sub dup /Cyan exch def
/Black exch def
Magenta Black lt {/Black Magenta def}if
Yellow Black lt {/Black Yellow def}if
Cyan Black sub
Magenta Black sub
Yellow Black sub
Black
} bind def
/cmyk2separationgray {
dup 0 ge{pop pop 0}{neg -1 roll}ifelse
4 1 roll pop pop pop 1 exch sub
} bind def
/rgb2cmyk {
1 exch sub /Yellow exch def
1 exch sub /Magenta exch def
1 exch sub dup /Cyan exch def
/Black exch def
Magenta Black lt {/Black Magenta def}if
Yellow Black lt {/Black Yellow def}if
Cyan Black sub
Magenta Black sub
Yellow Black sub
Black
} bind def
/setgray {
vpseparationindex -1 ne { pop 1 }if __setgray
} bind def
/setrgbcolor {
rgb2cmyk vpseparationindex cmyk2separationgray __setgray
} bind def
/setcmykcolor {
vpseparationindex cmyk2separationgray __setgray
} bind def
/level2image {
20 dict exch
begin begin
/NumberOfComponents Decode length 2 div def
/GrayToGraySource {
/S0 DataSource def
vpseparationindex -1 ne {0 1 S0 length 1 sub {S0 exch 255 put}for} if
S0
} bind def
/RGBToGraySource {
/S0 DataSource 0 get exec def
/S1 DataSource 1 get exec def
/S2 DataSource 2 get exec def
0 1 S0 length 1 sub {
dup S0 exch get /Red exch def
dup S1 exch get /Green exch def
dup S2 exch get /Blue exch def
dup S0 exch
Red Green Blue RGB2CMYK vpseparationindex CMYK2SEPARATIONGRAY
put
pop
} for
S0
} def
/CMYKToGraySource {
/S0 DataSource 0 get exec def
/S1 DataSource 1 get exec def
/S2 DataSource 2 get exec def
/S3 DataSource 3 get exec def
vpseparationindex
dup -4 eq{ pop S0 }
{dup -3 eq{ pop S1 }
{dup -2 eq{ pop S2 }
{-1 eq{ S3 }
{<00>}ifelse}ifelse}ifelse}ifelse
/S0 exch def
0 1 S0 length 1 sub {
dup S0 exch get 255 exch sub
S0 3 1 roll put
} bind for
S0
} bind def
Width Height BitsPerComponent ImageMatrix
NumberOfComponents
dup 1 eq{ pop /GrayToGraySource load}
{dup 3 eq{ pop /RGBToGraySource load}
{4 eq{ /CMYKToGraySource load}
{{<FF>}}ifelse}ifelse}ifelse
__image
end end
} bind def
/image {
dup type /dicttype ne {
10 dict begin
/Decode [0 1] def
/DataSource exch def
/ImageMatrix exch def
/BitsPerComponent exch def
/Height exch def
/Width exch def
/ImageType 1 def
currentdict end
} if
level2image
} def
/colorimage {
14 dict begin
dup 1 eq {/Decode [0 1] def}if
dup 3 eq {/Decode [0 1 0 1 0 1] def}if
dup 4 eq {/Decode [0 1 0 1 0 1 0 1] def}if
exch {
/MultipleDataSource true def
array astore
}{pop}ifelse /DataSource exch def
/ImageMatrix exch def
/BitsPerComponent exch def
/Height exch def
/Width exch def
/ImageType 1 def
currentdict end
level2image
} def
/findcmykcustomcolor {
5 packedarray
} bind def
/setcustomcolor {
exch aload pop
vpseparatecustomcolors
{
pop 4 { 4 index mul 4 1 roll } repeat
5 -1 roll pop
vpseparationindex cmyk2separationgray
}
{
vpseparationname anchorsearch {pop pop true}{pop false}ifelse
5 1 roll pop pop pop pop
{1 exch sub}{pop 1}ifelse
}ifelse
__setgray
} def
/setoverprint { /currentoverprint xd } nd
/overprint? { currentoverprint currentgray 1 eq and } bd
/execoverprint {
overprint? {
gsave
currentpoint
matrix currentmatrix
nulldevice setmatrix
moveto
cvx exec
{ currentpoint } stopped not
grestore
newpath
{ moveto } if
}{ cvx exec } ifelse
} bd
/renderers [
/stroke
/fill
/ashow
/awidthshow
/cshow
/show
/widthshow
/xshow
/yshow
/xyshow
] def
renderers {
dup where {
exch dup 3 1 roll get
[ exch cvlit /execoverprint cvx ] cvx def
} { pop }ifelse
} forall
} def
end
end